package view;

import model.Usuario;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import java.util.List;
import controller.UsuarioManager;

public class UsuarioActionMD extends ActionSupport implements ModelDriven<Usuario> {

	private static final long serialVersionUID = 1L;
	
	private Usuario usuario = new Usuario();
	private UsuarioManager usuarioManager;
	private List<Usuario> usuarioList;
	private int idUsuario;

	public UsuarioActionMD() {
        usuarioManager = new UsuarioManager();
    }
	
	public Usuario getModel() {
			return usuario;
	}
	
	public String agregar() throws Exception{
        //System.out.println(getModel());
        try {
           usuario = usuarioManager.add(getModel());
        } catch (Exception e) {
            e.printStackTrace();
            return ERROR;
        }

        return SUCCESS;
    }
	
	public String delete() {
    	try {
    		usuario = usuarioManager.delete(getModel().getIdUsuario());
    	} catch (Exception e) {
            e.printStackTrace();
            return ERROR;
        }

        return SUCCESS;
    }
	
	public String list() {
	     try {
	    	this.usuarioList = usuarioManager.list();
	        System.out.println("execute called");
	     }    
	     catch (Exception e) {
	        e.printStackTrace();
	        return ERROR;
	    }
	        return SUCCESS;
	}
	
	public String load() {
    	try {
    		usuario = usuarioManager.load(getModel().getIdUsuario());
    	} catch (Exception e) {
            e.printStackTrace();
            return ERROR;
        }
    	return SUCCESS;
    }
	
	public String update() {
    	try {
    		usuario = usuarioManager.update(usuario);
        } catch (Exception e) {
            e.printStackTrace();
            return ERROR;
        }
        return SUCCESS;
    }

	
	
	public void setUsuariotList(List<Usuario> usuarioList) {
		this.usuarioList = usuarioList;
	}
	
	public List<Usuario> getUsuarioList() {
		return usuarioList;
	}

	public int getIdUsuario() {
		return idUsuario;
	}

	public void setIdUsuario(int idUsuario)	{
		this.idUsuario = idUsuario;
	}
	
	public static long getSerialversionuid() {
		return serialVersionUID;
	}

	public Usuario getUsuario() {
		return usuario;
	}

	public UsuarioManager getUsuarioManager() {
		return usuarioManager;
	}

	public void setUsuarioList(List<Usuario> usuarioList) {
		this.usuarioList = usuarioList;
	}
}
